package Library.Events;

import java.awt.event.*;
import Library.Game.*;

/**
 *
 */
public class DefensiveEvent extends ActionEvent
{
    /**
     *
     * @param source
     * @param id
     * @param command
     * @param attacker
     * @param attLandID
     * @param defLandID
     * @param amount
     * @param recDefArmies
     */
    public DefensiveEvent(Object source, int id, String command, IPlayer attacker, int attLandID, int amount, int defLandID, int recDefArmies)
    {
	super(source, id, command);
	m_Attacker = attacker;
	m_AttackerLandID = attLandID;
	m_Amount = amount;
	m_DefenderLandID = defLandID;
	m_RecommendedDefensiveArmies = recDefArmies;
    }
    
    /**
     *
     * @param source
     * @param id
     * @param command
     * @param modifiers
     * @param attacker
     * @param attLandID
     * @param amount
     * @param defLandID
     * @param recDefArmies
     */
    public DefensiveEvent(Object source, int id, String command, int modifiers, IPlayer attacker, int attLandID, int amount, int defLandID, int recDefArmies)
    {
	super(source, id, command, modifiers);
	m_Attacker = attacker;
	m_AttackerLandID = attLandID;
	m_Amount = amount;
	m_DefenderLandID = defLandID;
	m_RecommendedDefensiveArmies = recDefArmies;
    }

    /**
     *
     * @param source
     * @param id
     * @param command
     * @param when
     * @param modifiers
     * @param attacker
     * @param attLandID
     * @param amount
     * @param defLandID
     * @param recDefArmies
     */
    public DefensiveEvent(Object source, int id, String command, long when, int modifiers, IPlayer attacker, int attLandID, int amount, int defLandID, int recDefArmies)
    {
	super(source, id, command, when, modifiers);
	m_Attacker = attacker;
	m_AttackerLandID = attLandID;
	m_Amount = amount;
	m_DefenderLandID = defLandID;
	m_RecommendedDefensiveArmies = recDefArmies;
    }
    
    private IPlayer m_Attacker;
    /**
     *
     * @return
     */
    public IPlayer getAttacker()
    {
	return m_Attacker;
    }
    
    private int m_AttackerLandID;
    /**
     *
     * @return
     */
    public int getAttackerLandID()
    {
	return m_AttackerLandID;
    }
    
    private int m_Amount;
    /**
     *
     * @return
     */
    public int getAmount()
    {
	return m_Amount;
    }
    
    private int m_DefenderLandID;
    /**
     *
     * @return
     */
    public int getDefenderLandID()
    {
	return m_DefenderLandID;
    }

    private int m_RecommendedDefensiveArmies;
    /**
     *
     * @return
     */
    public int getRecommendedDefensiveArmies()
    {
	return m_RecommendedDefensiveArmies;
    }
}
